﻿// 通过窗口找进程.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include "pch.h"
#include <iostream>
#include <Windows.h>

#include <winuser.h>
#pragma comment(lib,"User32.lib")

int main()
{
    //0.利用spy++工具找到窗口类名和标题
    
    //通过鼠标坐标来获取窗口的句柄的函数      WindowFromPoint
   


    //1.利用窗口类名和窗口标题 找到 窗口句柄
    HWND hWnd = FindWindow("GDI","GDI_绘图");        //这个函数可以去找到窗口的句柄，拿到窗口的句柄，可以通过窗口的句柄去获得进程的句柄,获取到进程句柄 就可以去控制进程
    if (NULL == hWnd)
    {
        printf("没找到:%d\n", GetLastError());
    }
    else
    {
        printf("%0x\n", hWnd);
    }


    //2.通过窗口句柄获取到进程id
    DWORD processId = 0;
    DWORD threadId = GetWindowThreadProcessId(hWnd,&processId);

    printf("threadId:%d\nprocessId:%d\n", threadId, processId);


    //3.通过进程id获取进程句柄：
    HANDLE  hProcess = OpenProcess(GENERIC_ALL, false, processId);
    printf("hProcess:%d\n", hProcess);


    //4.控制进程
    TerminateProcess(hProcess, -3/*退出码*/);











    return 0;
}

